#ifndef _INFOSPANEL_H_
#define _INFOSPANEL_H_

#include <SFML/Graphics.hpp>

#include "Panel.hpp"

class Board;
class TowerPanel;


///////////////////////////////////////////////////////
/// \brief Information Panel
///
/// Panel located on the right side of the screen.
/// Contains informations about the currently selected
/// tower (power, cost, speed, ...).
///
///////////////////////////////////////////////////////
class InfosPanel : public Panel
{
public:
    ///////////////////////////////////////////////////////
    /// \brief Construct the information panel
    ///
    /// \param window Window where the panel must be displayed
    ///
    ///////////////////////////////////////////////////////
    InfosPanel(sf::RenderWindow* window,
               Board* board,
               const TowerPanel* towerPanel);

    ///////////////////////////////////////////////////////
    /// \brief Destructor
    ///
    ///////////////////////////////////////////////////////
    ~InfosPanel();

    ///////////////////////////////////////////////////////
    /// \brief Displays the content of the information panel
    ///
    ///////////////////////////////////////////////////////
    void render();

    void handleEvents(const sf::Event& );

private:
    Board* board_;
    const TowerPanel* towerPanel_;
};


#endif /* _INFOSPANEL_H_ */
